************************************ * DISPLAY-LIST-INTERRUPTS * * VIELFARBIGES GRAPHICS 0 DISPLAY ************************************ COLPF2 EQU $D018 HARDWARE-REG . FUER FARBE WSYNC EQU $D40A WARTEN AUF ZEILENENDE NMIEN EQU $D40E NMI-FREIGABE VDSLST EQU $0200 VEKTOR FUER DLIS VVBLKI EQU $0222 VBI-VEKTOR (IMMEDIATE) SDLSTL EQU $0230 ZEIGER AUF D-LIST SYSVBV EQU $E45F VBL-ROUTINE IM ROM HILFZP EQU $D4 HILFSREGISTER IN ZERO-P. * * IM ATMAS MONITOR MIT G 0600 STARTEN * ORG $0600 NOP FUER BASIC HIER PLA JMP START TABELLE UEBER SPRINGEN * * TABELLE DER ZEILENFARBEN: * FARBTAB DFB $14,$22,$34,$42,$54,$62 DFB $74,$82,$94,$A2,$B4,$C2 DFB $D4,$E2,$F4,$02,$14,$22 DFB $34,$42,$54,$62,$74,$82 ZEIGER DFB 0 ZEIGER IN TABELLE START LDA SDLSTL D-LIST-ZEIGER IN LDY SDLSTL+1 ZERO-PAGE KOPIEREN STA HILFZP F. INDIREKTE STY HILFZP+1 ADR.-ART LDY #2 DLI-BIT IN LDA (HILFZP),Y DRITTER LEERZEILE ORA #$80 SETZEN STA (HILFZP),Y INY DLI-BIT IN DER LDA (HILFZP),Y LMS-ANWEI SUNG ORA #$80 DER D-LIST SETZEN STA (HILFZP),Y INY LMS-ADRESSE INY UEBERSPRINGEN INTSET INY SCHLEIFE F. LDA (HILFZP),Y DLI-BIT IN RESTL. ORA #$80 DISPLAY-LIST STA (HILFZP),Y CPY #27 SCHON ALLE ZEILEN? BNE INTSET NEIN-> * * DLI UND VBI AKTIVIEREN * LDA #0 INTERRUPTS AUS STA NMIEN (VBI & DLI) LDA #DLIPGM:L DEN VEKTOR AUF STA VDSLST DIE INT. -ROUTINE LDA #DLIPGM:H SETZEN STA VDSLST+1 LDA #VBIPGM:L VBI-PROGRAMM STA VVBLKI EINBINDEN LDA #VBIPGM:H (IMMEDIATE) STA VVBLKI+1 LDA #$C0 UND VBI & DLI STA NMIEN FREIGEBEN RTS * * DLI-ROUTINE VIEL ARBEN-EFFEKT IN GR.0 * DLIPGM PHA AKKU RETTEN TXA PHA X-REG. RETTEN LDX ZEIGER INDEX LADEN LDA FARBTAB,X FARBE AUS TABELLE STA WSYNC ZEILENENDE ABWARTEN STA COLPF2 FARBE EINTRAGEN INX ZEIGER WEITER- STX ZEIGER SCHALTEN PLA X-REG. VOM STACK TAX PLA AKKU BESORGEN RTI SCHLUSS ! * * VBI-ROUTINE VIELFARBENEFFEKT * VBIPGM LDA #0 ZEIGER AUF ANFANG STA ZEIGER DER FARBTABELLE JMP SYSVBV VBI WEITER